#include <bits/stdc++.h>
#define rp(i, l, r) for(int i = l; i <= r; i++)
using namespace std;

int readint() {
	int x = 0, f = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar();}
	while(ch >='0' && ch <= '9') { x = x * 10 + (ch - '0'); ch = getchar();}
	return f * x;
}
const int MAXN = 100010;
int n, r[MAXN], rev, ans;
priority_queue <int> q;
int main() {
	freopen("duel.in", "r", stdin);
	freopen("duel.out", "w", stdout);
	n = readint();
	rp(i, 1, n) {
		r[i] = readint();
	}
	sort(r + 1, r + n + 1);
	ans = n;
	q.push(-r[1]);
	rp(i, 2, n) {
		rev = -q.top();
		//cout<< rev<<endl;
		if(r[i] > rev) {
			q.pop();
			ans--;
			q.push(-r[i]);
		}
		else {
			q.push(-r[i]);
		}
	}
	printf("%d\n", ans);
	return 0;
}
